package com.atguigu.spzx.manager.test;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import org.apache.poi.ss.formula.functions.T;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: Shylo Sun
 * @Project: spzx-parent
 * @Date: 2023/11/17 15:38
 */
public class ExcelListener<T> extends AnalysisEventListener<T> {

    // 可以通过实例获取该值
    private List<T> datas = new ArrayList<>();

    // 读取excel内容，从第二行开始读取，把每行读取内容封装到t对象里面
    @Override
    public void invoke(T t, AnalysisContext analysisContext) { // 每解析一行数据就会调用一次该方法
        datas.add(t); // 数据存储到list，供批量处理，或后续自己业务逻辑处理
    }

    public List<T> getDatas() {
        return datas;
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        // excel解析完毕以后需要执行的代码
    }
}
